
package com.svh.Entidad;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 *
 * @author user
 */
@Entity
@Table(name = "USUARIO")
public class Usuario implements Serializable {
    @Id
    @GeneratedValue
    @Column(name = "IDUSUARIO")
    private Integer id;
    
    @Column(name = "NICK")
    private String nick;
    
    @Column(name = "CLAVE")
    private String clave;
    
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "IDPERFIL", nullable = false)
    private Perfil perfil;
    
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "IDLOCAL", nullable = false)
    private Local local;
    
    @Column(name = "ESTADO" , insertable = false)
    private boolean estado;
    
    @Transient
    private Empleado empleado;
    
    public Usuario() {
    }

    public Usuario(String nick, String clave) {
        this.nick = nick;
        this.clave = clave;
    }

    public Usuario(String nick, String clave, Perfil perfil) {
        this.nick = nick;
        this.clave = clave;
        this.perfil = perfil;
    }

    @Override
    public String toString() {
        return "Usuario{" + "id=" + id + ", nick=" + nick + ", clave=" + clave + ", estado=" + estado + '}';
    }
    
    /*  GETTER AND SETTER */
    
    public String getNick() {
        return nick;
    }

    public void setNick(String nick) {
        this.nick = nick;
    }

    public String getClave() {
        return clave;
    }

    public void setClave(String clave) {
        this.clave = clave;
    }

    public Perfil getPerfil() {
        return perfil;
    }

    public void setPerfil(Perfil perfil) {
        this.perfil = perfil;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Local getLocal() {
        return local;
    }

    public void setLocal(Local local) {
        this.local = local;
    }

    public Empleado getEmpleado() {
        return empleado;
    }

    public void setEmpleado(Empleado empleado) {
        this.empleado = empleado;
    }
    
}
